#include<iostream>
#include<string>
#include<stack>
#include<vector>
#include<sstream>
using namespace std;
/*解题思路：
1.stack无法遍历，用vector来模拟stack
2.用getline()来遍历，搭配stringstream来遍历并且提取其中单纯的目录
3.遇到'.'' '时不用管；遇到".."，出栈（返回上一目录），普通目录名压入栈
4.最后将栈中所有目录名用‘/’连接
5.最后若栈为空，返回‘/’根目录
push_back()=push();
pop_back()=pop();
back()=top();
*/
int main() {
	string path;
	cin >> path;
	vector<string>mystack;

	//把字符串放入流中，当作一个“虚拟文件”来处理
	stringstream ss(path);
	string token;
	
	//按照“/”分隔路径
	while (getline(ss, token, '/')) {//每次得到一个普通目录
		if (token.empty() || token == ".") {
			continue;
		}
		else if (token == "..") {
			if(!mystack.empty())mystack.pop_back();
		}
		else { mystack.push_back(token); }
	}

	string result = "/";
	for (int i = 0; i < mystack.size(); i++) {
		result += mystack[i];
		//最后result的结尾不能是“/”
		if(i<mystack.size()-1)
		result += "/";
	}

	cout << result << endl;
	return 0;
}

